The present invention relates to a communications terminal which provides a means for interconnecting a plurality of programmable controllers into a large programmable controller network permitting communication of control information between remotely located programmable controllers. Each programmable controller is associated with a communications terminal, and the communications terminals are connected in a communications loop to form a distributed control system.
An integrated circuit programmable controller which can be readily interfaced with the communications terminal disclosed herein is described in a commonly assigned co-pending application Ser. No. 841,431, filed Oct. 12, 1977.
A programmable controller is a special purpose computer which functions to compute the logic status represented by interconnected contacts, where the contacts are either external (such as relay contacts, limit switches and pushbuttons) or internal. Internal contacts are those controlled by internal coils. The end result of a logic combination is then either placed into an internal coil to energize or de-energize it or is transmitted to the outside to control such external devices as solenoids.
The programming basis of the programmable controller disclosed in the above-identified co-pending application may be termed wire-number programming. That form of programming commences with the assignment of wire numbers to each of the wires connecting nodes in a ladder diagram representation of the electromechanical relay logic. The instructions written by the programmer define the logic connected to each wire number. The programmable controller then determines the status of each wire number and maintains a complete record in an internal memory for that purpose. As shown in that application, the programming method is relatively simple since the result of every logic operation is in memory and the programmer need not keep track of what has and has not been stored. The continuous maintenance of wire number status permits trouble shooting by checking wire numbers in memory. It also permits interconnection of programmable controllers utilizing the communication terminal disclosed herein.
As in the case of conventional programmable controllers, the programmable controller used with the present invention is intended to be located in the vicinity of the external contacts providing input to it and also in the vicinity of the devices being controlled by the programmable controller such as solenoids.
Although fairly large programmable controllers having significant computation capacity can be produced by adding additional elements to the prior art controllers, such large centrally located programmable controllers are relatively inconvenient for use in controlling the operation of a process which involves a number of geographically dispersed external contacts and coils. Using the prior art techniques separate conductor pairs are required to be run from the central programmable controller to each of the remote contact coils.
The communications terminal disclosed herein provides a relatively simple means for providing for the interconnection of a plurality of programmable controllers into a looped distributed control system. The attributes of the communications terminal are such that it can be interfaced with the programmable controller by plugging it into an input/output module slot in a programmable controller. The preferred embodiment shown can be directly plugged into any one of the input/output module slots of the programmable controller disclosed in the above-identified co-pending application Ser. No. 841,431.
The communications terminal disclosed herein is also particularly desirable since its use with a programmable controller is "transparent" to users, meaning that the user of the system generally continues to be able to program the individual programmable controllers as if they were free standing and not interconnected in a looped distributed control system.
The user is able to set up the distributed control system by inserting a communications terminal module in any one of the input/output slots of a programmable controller. After communications terminals have been interfaced with a plurality of programmable controllers, the programmable controllers can in turn be interconnected in a loop using a shielded, twisted pair cable.
Each programmable controller/communications terminal unit, which is referred to herein as a "box" is programmed with an identification number. One of the boxes is designated as a "master" during the initialization and start up of the system. It is necessary that one box function as a master and the remainder of the boxes function as slaves, to provide a smooth automatic start up of the system. After the system has been started up and is running, the master-slave relationship is not necessary, and each of the units functions with the same authority.